home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 22 / Amiga Format AFCD22 (Jan 1998, Issue 106).iso / -screenplay- / utilities / mame / mame030 / whatsnew.txt < prev    next >
Text File  |  1997-11-05  |  84KB  |  2,041 lines

  1. 0.28
  2.  
  3. New games supported in this release (in no particular order):
  4. Omega Race
  5. Bank Panic
  6. Pop Flamer
  7. Super Basketball
  8. Kick
  9. Solar Fox
  10. Tron
  11. Two Tigers
  12. Domino Man
  13. Satan's Hollow
  14. Wacko
  15. Kozmik Kroozr
  16. Journey
  17. Tapper
  18. Discs of Tron
  19. Demolition Derby
  20. Timber
  21. Spy Hunter
  22. Rampage
  23. Espial
  24. Time Pilot 84
  25. Rastan
  26.  
  27. Program:
  28. - Fabrice Frances added *emulated* sound to Q*Bert, Reactor, Krull and Mad
  29.   Planets. The samples are no longer needed and may be removed.
  30.   Q*Bert Qubes would work as well, if we had the sound ROM ;-(
  31.   Speech is not emulated... yet! Please do not complain because there is no
  32.   speech in Q*Bert. We are aware of that.
  33.  
  34. - John Butler provided a new 6809 emulator. It is faster than the previous
  35.   one, and fixes some bugs including the ship moving in the wrong direction
  36.   on the tower level of Star Wars and the bonus maze in Pac & Pal.
  37.  
  38. - John Butler also added optimizations to some Williams games, GnG and Qix.
  39.   He also fixed several problems in Qix.
  40.  
  41. - Bernd Wiebelt provided a driver for Omega Race and added a "director's cut"
  42.   mode to Battle Zone. DELETE BZONE\BZONE.CFG OTHERWISE THE GAME WILL NOT
  43.   WORK CORRECTLY.
  44.  
  45. - Nibbler and Vanguard are back to (hopefully) normal speed.
  46.  
  47. - Christopher Kirmse, Aaron Giles and Brad Oliver provided a MCR I/II/III
  48.   driver, supporting:
  49.   Kick
  50.   Solar Fox
  51.   Tron
  52.   Two Tigers
  53.   Domino Man
  54.   Satan's Hollow
  55.   Wacko
  56.   Kozmik Kroozr
  57.   Journey
  58.   Tapper
  59.   Discs of Tron
  60.   Demolition Derby
  61.   Timber
  62.   Spy Hunter
  63.   Rampage
  64.  
  65. - Aaron Giles perfected the CTC emulation, needed by the MCR driver.
  66.  
  67. - Sean Trowbridge found a workaround to make Tempest not lock up at 150,000
  68.   points.
  69.  
  70. - Mike Balfour (overload@primenet.com) did some fixes to the Exidy games
  71.   (Venture, Mouse Trap, Pepper II)
  72.   Collision detection is now supported, Venture is playable.
  73.  
  74. - Mike Balfour also added high score support to Elevator Action, Pisces, War
  75.   of the Bugs, Eggs, Exed Exes, Diamond Run, Jungle King, Wizard of Wor,
  76.   Robby Roto, Gorf, Space Zap, Seawolf II, Loco-Motion, Mysterious Stones,
  77.   Blue Print, Carnival, Snap Jack, Cosmic Avenger, Yie Ar Kung Fu, Scramble,
  78.   Battle of Atlantis and The End.
  79.  
  80. - Mike Balfour also pointed out that ROM 2H of Battle of Atlantis seems to
  81.   be bad; that's the cause of the strange coins per credit values.
  82.  
  83. - Many thanks to Luis Longeri (llongeri@cbb.cl) for helpful tips about Exed
  84.   Exes' background, which is now partially working.
  85.  
  86. - Tatsuyuki Satoh made several fixes to the Xevious driver.
  87.  
  88. - Aaron Giles provided a driver reference sheet (mamelist.txt)
  89.  
  90. - Steve Baines fixed color intensities in Star Wars - objects now fade out
  91.   properly. You might find it a bit too dark now, but this is done to
  92.   reproduce the differences in brightness that the original has.
  93.  
  94. - Frank Palazzolo fixed the "bad tranch vectors" and "fail to approach Death
  95.   Star" bugs in Star Wars.
  96.  
  97. - David Winter provided a driver for Amigo (a bootleg version of Amidar)
  98.  
  99. - Brad Oliver provided drivers for Pop Flamer and Espial.
  100.  
  101. - Zsolt Vasvari supplied a Super Basketball driver.
  102.  
  103. - Marc Lafontaine provided a driver for Time Pilot 84. John Butler optimized
  104.   it.
  105.  
  106. - Mirko Buffoni added explosions to Rally X, using a sample.
  107.  
  108. - Jarek Burczynski adapted the M68000 emulator from the System 16 Arcade Emulator
  109.   by Thierry Lescot. The only known problem of this emulator is that it doesn't
  110.   count CPU cycles, only instructions.
  111.   The first driver to use the 68000 is Rastan, also provided by Jarek.
  112.  
  113. Sources:
  114. - New osd_modify_pen() function, proposed by Aaron Giles. It allows drivers
  115.   to dynamically modify the palette. WARNING: since this feature can severely
  116.   reduce performance on some systems, it must only be used when necessary -
  117.   that is, when the emulated game dynamically modifies the palette. The other
  118.   games should continue to use the static palette as before.
  119.   Many games already use this feature (e.g. Crystal Castles, the Gottlieb
  120.   games, Tapper, Bubble Bobble, and many others).
  121.   There's also osd_get_pen(), which is used by usrintf.c to dynamically pick
  122.   the pens used to render menus.
  123.  
  124.  
  125. The following changes were done by Nicola Salmoria:
  126.  
  127. Program:
  128. - Crystal Castles now has accurate colors and load/save of high score and
  129.   settings (I mean the settings done in the service menu).
  130.  
  131. - Nibbler and Fantasy have sound, using the Vanguard driver. I don't know
  132.   how accurate it is.
  133.  
  134. - Thanks to Gary Walton and Simon Walls, Son Son now has accurate colors.
  135.  
  136. - Son Son also has sound.
  137.  
  138. - Since there are now many games which don't run at 60fps (e.g. Popeye and
  139.   the vector games), F11 was confusing and lead people to think the emulation
  140.   was slow, while it was running at the correct speed. F11 now  displayes the
  141.   percentage of the speed of the real machine. 100% is the correct speed,
  142.   200% is twice as fast, 50% is half as fast.
  143.  
  144. - Snap Jack and Cosmic Avenger are oriented correctly, and small sprites in
  145.   Cosmic Avenger (bullets, bombs etc.) and Snap Jack (wheels) are properly
  146.   supported.
  147.  
  148. - Some of the games now support Cocktail mode (only the graphics, not the
  149.   controls yet)
  150.  
  151. - New command line option: "-cheat". Cheats like the speedup in Pac Man or
  152.   the level skip in many other games are disabled by default. Use this switch
  153.   to turn them on.
  154.  
  155. - The speedup cheat in Pac Man can now be permanently set to ON from the dip
  156.   switch settings menu.
  157.  
  158. - Zaxxon and Congo Bongo can go in service mode (F2).
  159.  
  160. - Bank Panic support. Thanks to Virtu-Al, colors are correct.
  161.  
  162. - Colors in Donkey Kong are now 100% accurate. Several people complained that
  163.   girders should be pink instead of red, but to the best of my knowledge the
  164.   current colors are an accurate conversion of the color PROMs, and this has
  165.   been confirmed by some people. There might be two different versions of
  166.   Donkey Kong, with slightly different colors. If someone has a "pink" board
  167.   and wants to read the PROMs from there, I'll be happy to include them.
  168.  
  169. - Dip switches now work in Xevious. Also fixed a bug in the targeting cursor
  170.   colors (black corners while firing). Super Xevious works.
  171.   Explosions are emulated with samples, thanks to Andrew Scott.
  172.  
  173. - Support for another version of Mr Do's Castle ("docastl2").
  174.  
  175. - Support for the Japanese version of Commando ("commandj").
  176.  
  177. - Thanks to Gary Walton, fixed sprite placement in Turtles.
  178.  
  179. Sources:
  180. - All-new handling of rotation. The GameDriver structure now has a
  181.   "orientation" field which allows driver writers to handle fairly easily
  182.   games which run on the same hardware but with different orientations.
  183.   Crazy Climber/Crazy Kong, Lady Bug/Snap Jack/Cosmic Avenger and the Gottlieb
  184.   games are examples of drivers using this feature.
  185.   Rotation is handled automatically by gfxdecode(), which creates a prerotated
  186.   charset, and drawgfx(), which swaps the arguments appropriately. Drivers
  187.   which use only the standard functions to render their display will
  188.   automatically handle the "orientation" field. If a driver writes directly to
  189.   the bitmap, it must handle the rotation itself.
  190.   IMPORTANT NOTE: osd_create_bitmap() swaps width and height when a rotation
  191.   is requested. Take that into account or you'll risk trashing memory.
  192.   IMPORTANT NOTE TO PORTERS: remember to update osd_create_bitmap() and
  193.   osd_create_display() to take into account the rotation. Check msdos.c to
  194.   see how this must be done.
  195.  
  196. - Totally new Input port definition structure. See driver.h for the new
  197.   structures definition; several drivers already use it, check them for
  198.   working examples.
  199.   The new definition is much more powerful and easier to maintain than the
  200.   previous one. It isn't complete yet, but it will eventually handle
  201.   everything, including trackballs and analog joysticks. Drivers using the
  202.   old definition will gradually be converted to the new one. Please do not
  203.   submit new drivers using the old definition. It is obsolete and will be
  204.   removed as soon as the conversion of the existing drivers is finished.
  205.  
  206. - Moved the input handling to the new source file inptport.c.
  207.  
  208. - Some driver compacting:
  209.   - merged Pengo and Pac Man vidhrdw
  210.   - merged Dkong and Dkong 3 driver and vidhrdw
  211.   - merged Crazy Climber and Crazy Kong driver and vidhrdw
  212.   - merged mooncrst, moonqsr and scramble vidhrdw into the new "galaxian.c"
  213.  
  214. - Rewritten the decryption routines in Pengo and Crazy Climber.
  215.  
  216. - MachineDriver/init_machine is now a void (*)(void), and the function is
  217.   called by cpu_run() during a reset. Some games, like Espial and the MCR
  218.   games, needed that to perform a reset correctly.
  219.  
  220.  
  221. 0.27
  222.  
  223. REMEMBER: IF A GAME DOESN'T WORK, TRY DELETING THE .CFG FILE IN ITS DIRECTORY
  224.  
  225. There has been much talk about the License under which MAME is released. We
  226. had to drop the GPL because it was not applicable. See readme.txt for the new
  227. rules.
  228.  
  229. New games supported in this release (in no particular order):
  230. Xevious
  231. Star Wars
  232. Bubble Bobble
  233. Eliminator
  234. Space Fury
  235. Star Trek
  236. Tac-Scan
  237. Zektor
  238. Super Bagman
  239. Warlords
  240. 10 Yard Fight
  241. Bosconian
  242. Dig Dug 2
  243. Pac & Pal
  244. Son Son
  245. Loco-Motion
  246. Blue Print
  247. Snap Jack
  248. Cosmic Avenger
  249. Eggs
  250. ... plus many alternate versions which are not listed here.
  251.  
  252.  
  253. Program:
  254. - The Energy shields in Vanguard now work.
  255.   What about the speed of Nibbler, Vanguard and Fantasy? Are they too fast?
  256.  
  257. - Support for a GnG version with different graphics (cross instead of shield)
  258.  
  259. - Thanks to the precious information on the Pokey random number generator
  260.   provided by Eric Smith, Hedley Rainnie and Sean Trowbridge, some problems
  261.   with Centipede (start with 18 credits) and Tempest (hang after level 13)
  262.   are now solved.
  263.  
  264. - Thanks to Virtu-Al and Peter Clare, Carnival now has 100% accurate colors.
  265.  
  266. - Mirko Buffoni and Tatsuyuki Satoh provided a preliminary Xevious driver.
  267.  
  268. - Al Kossow and Brad Oliver provided drivers for the Sega vector games
  269.   (Eliminator, Space Fury, Star Trek, Tac-Scan, Zektor).
  270.   Partial sound support (speech) is available through samples for some of
  271.   them.
  272.  
  273. - Jarek Burczynsky provided better colors for Bagman and also added support
  274.   for Super Bagman.
  275.  
  276. - Andrew Scott improved sound in Pleiads.
  277.  
  278. - Thanks to Virtu-Al, Rescue now has accurate colors.
  279.  
  280. - Lee Taylor (nxsl2819@defender.demon.co.uk) and John Clegg provided a
  281.   Warlords driver.
  282.  
  283. - Andrea Fregoli added a scroll routine used when the keyboard/joystick
  284.   settings menu doesn't fit on the screen.
  285.  
  286. - Andrew Scott and Robert R. Anschuetz II improved sound support in Galaxian
  287.   and clones. The background noise is now emulated, while the shoot noise
  288.   still requires a sample. These changes also affect other games using
  289.   the same sound routines.
  290.  
  291. - Thanks to Brian Levine's freely available Rockulator, Andrew Scott was
  292.   able to add sound support to Vanguard.
  293.  
  294. - Mike Coates improved again the Gorf driver. It's now (sort of) playable.
  295.  
  296. - Lee Taylor and John Clegg provided preliminary 10 Yard Fight support.
  297.  
  298. - Martin Scragg added Bosconian support.
  299.  
  300. - Aaron Giles did a major rewrite of his Super Pac man and Mappy drivers:
  301.   - support for Dig Dug 2 and Pac & Pal
  302.   - High score save in all games
  303.   - 100% colors and sound samples (in Super Pac man the siren clicks a bit,
  304.     but neither I nor jrok can figure it out; the sample data *is* correct)
  305.   - better sound playback frequency (was missing some high bits!)
  306.   - arcade accurate frequency calculation (thanks to jrok!)
  307.   - removed all palette hacks; everything is clean
  308.   - added loop optimizations for speed
  309.   - video now properly displayed, including high priority characters
  310.  
  311. - John Butler and Aaron Giles fixed sound and trackball support in Millipede.
  312.  
  313. - Steve Baines, with the help of Frank Palazzolo and Brad Oliver, implemented
  314.   Star Wars. It's playable, but far from perfect. There's even some
  315.   preliminary sound support (slows the game down a lot).
  316.  
  317. - Bernd Wiebelt implemented a new option for vector games: "-vg".
  318.   This adapts the Vector games to a given screen resolution (default 800x600).
  319.  
  320. - Lot of work on the Atari Vector games (Brad Oliver & Bernd Wiebelt)
  321.   - Quite a few bugs hunted down.
  322.   - Thanks to Aaron Giles, the Atari vector games do correct scaling
  323.     now and we can do cycle counting on the vector CPU.
  324.     Aaron also fixed the scaling in the Sega vektor games.
  325.   - Tempest does no longer  crash after level 13, has better colors
  326.     (colorram emulation) and is overall a bit faster.
  327.   - Highscore saving for all games except Black Widow and Starwars
  328.   - Trackball support for Tempest and Red Baron.
  329.     Red Baron tries to calibrate its analog joystick at the start, so you'll
  330.     have to move the "joystick" a bit before you can fly in all four
  331.     directions. Thanks to baloo@kaiwan.com for his suggestions.
  332.   - Mauro Minenna made Battlezone playable with one joystick.
  333.   - Changes to game resolutions. On MSDOS, they now use tweaked VGA modes.
  334.  
  335.   REMEMBER TO DELETE EVERY *.CFG AND .HI FILE FOR VECTOR GAMES, OTHERWISE
  336.   THE GAMES MIGHT NOT WORK CORRECTLY.
  337.  
  338. - Mike Coates added partial sound support (thru samples) to the Carnival driver.
  339.  
  340. - Bubble Bobble support, provided by Chris Moore (chris@aethos.co.uk).
  341.  
  342. - Son Son support (dedicated to Roberto Ventura! ;)
  343.  
  344. - Preliminary Exed Exes support, implemented by Richard Davies.
  345.   Thanks to Paul Swan, it has 100% accurate colors.
  346.   To do: find where tile ram is located and how it works, and whether banked
  347.   ROMs contain code or only data. The structure of this game is similar to
  348.   the other Capcom games.
  349.  
  350. - Mirko Buffoni and Tatsuyuki Satoh added Starforce sound emulation.
  351.  
  352. - Mike Coates tidied up the wow drivers, added definable keys to most games,
  353.   and joystick & 2 player support to Seawolf II.
  354.  
  355. - Fabrice Frances added hiscore saving support to all Gottlieb drivers.
  356.  
  357. - Ray Giarratana included trackball support to Missile Command.
  358.  
  359. - Added support for Mr'Do vs Unicorns (earlier version of Do's Castle).
  360.   Thanks to Lee Taylor for info)
  361.  
  362. - Sound support in Tutankham.
  363.  
  364. - Elevator action sound is perfect now.
  365.  
  366. - Improvements in Zaxxon colors by Marc Vergoosen.
  367.  
  368. - Jarek Burczynski changed showcharset() in usrintrf.c. Now you can use PGUP
  369.   and PGDN to scroll through a charset which doesn't fit in the screen.
  370.  
  371. Sources:
  372. - Brad Oliver wrote the new sndhrdw/pokyintf.c file. It handles most of the
  373.   pokey interface to pokey.c. Rather than call milliped_sh_start() or
  374.   whatever, call pokeyx_sh_start(), where x is the number of pokeys. It will
  375.   keep track of the pokey count and use the appropriate clipping. I'm not
  376.   sure 3 pokeys is a possible combination so there is no such
  377.   pokey3_sh_start() routine.
  378.  
  379. - Christopher Kirmse <ckirmse@ricochet.net> ported MAME to Win32.
  380.   It compiles from the same source tree as the DOS version; to compile using
  381.   visual c++ 5, just do
  382.   nmake -fmakefile.w32
  383.   To build mame32.exe, you also need the SEAL audio library for win32.
  384.  
  385. - Changes in SN76496 emulation (added SN76496UpdateB function to emulate 2
  386.   chips on 8 channel PCM sound cards), added Z80PIO and Z80CTC emulator, in
  387.   COMMON.C, 'TRANSPARENCY_PEN' and 'TRANSPARENCY_COLOR' mode were speeded up
  388.   (for X/Y dual scroll games). All this was done by Tatsuyuki Satoh.
  389.  
  390. - Added generic EAROM routinges for the Atari Vector games, they
  391.   are in src/machine/atari.c and src/machine/atari.h
  392.  
  393. - Bernd Wiebelt sincerely hopes he fixed the BCD-emulation in the 6502
  394.   emulation. At least the authentic Tempest feeling (broken X/Y monitor) is
  395.   gone, since the game now starts without pressing Fire.
  396.  
  397.  
  398. The following changes were done by Nicola Salmoria:
  399.  
  400. Program:
  401. - You can now turn off speed throttling (F10) even on games which use audio
  402.   streaming (i.e. all the ones with 8910 or Pokey sound chips)
  403.  
  404. - Loco-Motion support
  405.  
  406. - Blue Print support
  407.  
  408. - Thanks to F. Kurokawa, preliminary Snap Jack and Cosmic Avenger support.
  409.   They run on the Lady Bug driver.
  410.  
  411. - Fixes to the audio code which should fix crashes on some games and
  412.   compatibility problems with GUS and AWE 32. However let me stress once
  413.   again that if you have an AWE 32 you should use the plain SoundBlaster
  414.   driver. The AWE 32 driver sounds NOTHING like the original (and is slower).
  415.  
  416. - In Galaga, star scroll speed in levels > 32 should be correct now.
  417.  
  418. - Pressing ESC in all menus returns to pthe previous menu instead of quitting.
  419.  
  420. - Changed the 8910 sound chip emulation interface to allow updates more
  421.   frequent than 60 per second. I also increased the sampling frequency to
  422.   44.1kHz.
  423.   These changes provide dramatic improvements in sound quality, which you can
  424.   appreciate in e.g. Gyruss and Pooyan.
  425.   The price to pay is slower execution. To make things worse, I had to
  426.   (hopefully temporarily) remove some optimizations, so the above games will
  427.   probably not run as well as before on slower systems.
  428.  
  429. - Donkey Kong has better colors. Are they entirely accurate?
  430.  
  431. - Preliminary driver for Eggs.
  432.  
  433. - Popeye runs at the correct speed of 30 fps.
  434.  
  435. - Increased the maximum number of digital audio channels from 8 to 16, so
  436.   there are no more missing voices in the Mr. Do! games (Castle, Unicorns,
  437.   Wild Ride, Run Run, and Kick Rider).
  438.  
  439. - Thanks to Gary Walton, speed in Pengo should now be closer to the original.
  440.  
  441. - The unencrypted versions of Penta and "pengopop" are no longer supported
  442.   because they are just hacks, not coming from a real board.
  443.   The *original*, *encrypted* versions are now supported instead. They are
  444.   exactly the same, the only difference is that they are encrypted and come
  445.   from real boards.
  446.   The names now are:
  447.   "pengo"  original Pengo with "PopCorn" music
  448.   "pengoa" alternate version (earlier) with different music
  449.            and no slow screen draw
  450.   "penta"  the bootleg called Penta
  451.  
  452. - Elevator Action, Jungle King and Wild Western now use the same video hardware
  453.   driver (taito.c)
  454.  
  455. - ROMs are checksummed before starting the emulation. If the checksum doesn't
  456.   match, a warning message is printed on the screen (along with the expected
  457.   checksums). Execution resumes after pressing Return.
  458.   Not all drivers use this feature yet, but most of them do.
  459.  
  460. - Some alternate ROM sets supported: ckonga, galaganm, gallag, bzone2,
  461.   asteroi2, panica, pacmanjp.
  462.  
  463. - Some ROM renaming here and there, just to annoy you ;-)
  464.  
  465. - Lots of minor fixes and enhancements.
  466.  
  467. - Exchanged the infamous two sprite banks in Moon Cresta.
  468.  
  469. Sources:
  470. - EXTREMELY IMPORTANT:
  471.   osd_obtain_pen() now doesn't return pens sequentially. This ensures that
  472.   MSDOS driver writers are aware of the existence of Machine->pens[] and
  473.   use it appropriately. Drivers which don't do this will have wrong colors.
  474.  
  475. - modified readinputport() to scan the keyboard only once per frame, and
  476.   handle everything more efficiently. It is now MUCH faster than before -
  477.   useful with games which continuously poll a port for VBlank.
  478.  
  479. - generic_vh_start() now checks that videoram_size has been initialized and
  480.   fails otherwise.
  481.  
  482. - When using TRANSPARENCY_COLOR and TRANSPARENCY_THROUGH with drawgfx(), the
  483.   argument must now be the pen code instead of the remapped pen number, e.g.
  484.   instead of Machine->background_pen (= machine->pens[0]) you just specify 0.
  485.   I also removed the background_pen field from Machine: use Machine->pens[0]
  486.   instead.
  487.  
  488. - The ROM_LOAD() macro now requires four parameters, the last one being the
  489.   checksum. To quickly upgrade from previous sources you can be used
  490.   (temporarily) ROM_OBSOLETELOAD(), however adding the checksum is easy (just
  491.   do a cut & paste from the warning message) so it's better to put them in
  492.   as soon as possible.
  493.  
  494. - New macro ROM_RELOAD(), meaning to reload the previous ROM at a different
  495.   address (useful with 6502 games which need reset/irq vectors at FFFx).
  496.  
  497. - In common.c, new function printromlist(), used by loadroms() and mame.c.
  498.   (-listroms).
  499.  
  500. - Drivers are now allowed to modify the RAM and ROM pointers to implement
  501.   bank switching. Bubble Bobble uses this.
  502.   Be careful: when using this feature, you cannot use the standard MRA_RAM
  503.   and MWA_RAM memory hooks to access RAM.
  504.  
  505. - InputPorts now can automatically handle VBlank bits. No more need to write
  506.   custom code. Lady Bug, Carnival, Mysterious Stones, Naughty Boy and Phoenix
  507.   use this feature. Many other drivers need to be updated to use it.
  508.   MAKE SURE TO DELETE LADYBUG\LADYBUG.DSW AND LADYBUG\LADYBUG.CFG, OTHERWISE
  509.   THE GAME WILL NOT WORK CORRECTLY.
  510.  
  511. - New support functions in cpuintrf.c:
  512.   cpu_getfcount(), which returns the number of CPU cycles till the end of the
  513.     current video frame (as opposed to cpu_geticount(), which  returns the
  514.     number of CPU cycles till the next call of the interrupt handler)
  515.   cpu_getiloops(), which returns the number of times the interrupt handler
  516.     will be called before the end of the video frame (useful in interrupt
  517.     handlers).
  518.   cpu_gettotalcycles(), which returns the total number of CPU cycles passed
  519.     since the CPU was reset.
  520.   ignore_interrupt(), companion to interrupt() and nmi_interrupt(). This
  521.     allows interrupt handlers to be cpu-independant, avoiding use of
  522.     CPU-specific interrupt indetifiers.
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531. 0.26a
  532.  
  533. - This is a bug fix version.  I did a mess with the famous heavy modifications
  534.   I mentioned before.  Well, I was the first to try the feeling of working on
  535.   wrong sources ;)  Funny!!  BTW, now everything is back to normality, Pacman,
  536.   Galaxians, Centipede, and others.  I have learned a thing:  never work until
  537.   4.30am in the morning :>
  538.  
  539. - Thanks to Gary Walton, Nicola added 100% correct colors in Mr Do's Castle
  540.   Fixed also a bug in Ghosts 'n Goblins hiscore saving.  Now GnG does the
  541.   self test too.
  542.  
  543. - Some credits that were left out in this file only, last time:  Thanks to
  544.   Al Kossow, Hedley Rainnie and Eric Smith for the code to their vecsim
  545.   emulator which had emulated these games previously on the unix and the mac,
  546.   and thanks to Neil Bradley for pointing out the critical bug in the vector
  547.   generator engine which prevented Tempest from working.
  548.  
  549. - Super Pac Man and Mappy have correct pitch now (thanks Aaron and Satoh).
  550.   Also, SuperPac has speed cheat control again.
  551.  
  552. - Frogger doesn't have garbled chars anymore, and Galaga has correct stars
  553.   speed now.
  554.  
  555. - Added support for KickRaider.  It's a rom swap, same hardware of Mr. Do
  556.   Wild Ride.
  557.  
  558. - Patrick Lawrence added trackball sensitivity setting menu
  559.  
  560. - Morten Eriksen added hiscore save support to Arabian and AntEater
  561.  
  562. - Sound is back on williams games too
  563.  
  564. - Changed Dig Dug Atari rom dir into "digdugat", indicating the correct
  565.   roms archive name.
  566.  
  567.  
  568.  
  569. 0.26
  570.  
  571. - After so much time of hard work the policy of "back to quality" is starting
  572.   to bring back the efforts.  I'm proud to announce I'v beated Mr Do's Castle.
  573.   Done one, done all.  So now we have also Mr Do! RunRun and Mr Do! Wild Ride.
  574.   Thanks to the invaluable help of Nicola, they are also arcade colors perfect,
  575.   very fast (!) and each game has audio support and hiscore saving! :D
  576.  
  577. - Me and Aaron Giles (agiles@mail1.sirius.com) have added support for MAPPY!!
  578.   One of the most requested games.  It was a pleasure working with Aaron!  He
  579.   also added sound support and very close arcade colors (I think to have found
  580.   the color_prom... if it's the correct prom it will be added in the next
  581.   release).  Hiscore saving is supported as well.
  582.  
  583. - Thanks to the outstanding combined efforts of Brad Oliver, Bernd Wiebelt
  584.   and Allard Van Der Bas, MAME entered in vectorial emulation world! (YEAH!!!)
  585.   All in a time, we have support for Asteroids, Asteroids Deluxe, Black Widow
  586.   Battlezone, Gravitar, Lunar Lander, Red Baron, Spaceduel, Tempest!!!
  587.  
  588. - Again Aaron Giles added sound support to Super Pac Man!
  589.  
  590. - Patrick Lawrence (pjl@ns.net) did a great work adding trackball support to
  591.   the main core system.  Trackball is enable with -trak parameter.  Trackball
  592.   support has been added to Centipede and Reactor.  Also, Patrick provided
  593.   a driver for Crystal Castles.  Great Work! ;)
  594.  
  595. - And three... Aaron added support for Dig Dug!!  Hey man, you'r at a step
  596.   to become a God of Arcade emulation ;)
  597.  
  598. - Mike Coates has joined to the "back to quality" team.  He added support for
  599.   SeaWolf ][, and improved Space Zap and Gorf (which is still unplayable).
  600.   Also Robby Roto is now fully playable (you'll need a bug free rom set).
  601.  
  602. - Ray Giarratana (ray@loop.com) added support for Missile Command.  I didn't
  603.   include modifications for trackball for now.  The code needs to be cleaned
  604.   a bit, but the game is still playable.
  605.  
  606. - Enrique Sanchez provided me documentation for Yie Air Kung Fu.  Also,
  607.   Philip Stroffolino (phil@maya.com) sent me a more complete driver than
  608.   mine for this game which is now playable.
  609.  
  610. - Eric Anschuetz fixed a bug in joystick redefinition menu.  Also added the
  611.   selection support for Any Button ("A" key), and None ("N" key).
  612.  
  613. - Fabrice Frances added a driver for 3 Stooges.
  614.  
  615. - Andrew Scott provided a better sound support for Phoenix.  Melody is still
  616.   missing, because Shaun's board doesn't have it.
  617.  
  618. - Nicola fixed Jump Bug driver which is now perfect.  Colors are still wrong
  619.   without proms.
  620.  
  621. - Morten Eriksen (Morten.Eriksen@due.unit.no) added hiscore saving to
  622.   Ghosts 'n Goblins.
  623.  
  624. - Valerio Verrando provided a new tweaked mode 256x232 for Crystal Castles.
  625.   He also provided a new tweaked video mode to get vsynced 60Hz (perfect
  626.   speed) with 256x256 games.  It has horizontal clock recover (thus video is
  627.   less mashed vertically, without having to modify monitor settings, and it
  628.   doesn't be confused with 224x288 by monitors that remember settings. Really
  629.   nice on scrolling games:  try it with "-noscanlines -vsync -vgafreq 1"
  630.  
  631. - Fixed Commando dip switch bonus settings.  Also fixed a setting in Ant
  632.   Eater dipswitch.
  633.  
  634. - Fixed a bug that locked your PC if BLASTER variable was not found (thanks
  635.   to James Oliver for the suggestion).
  636.  
  637. - Tatsuyuki Satoh fixed sound tempo speed in Elevator Action (tempo speed
  638.   is 37.5Khz).
  639.  
  640. - Added support for two versions of Pengo (one with the music of Popcorn
  641.   and a clone).
  642.  
  643. Sources:
  644. - Me, Nicola, Bernd and Patrick have heavily changed the main core set of
  645.   sources.  Improvements to speed, memory access, drivers structure were
  646.   done.  We strongly suggest to developers to start their code on a clean
  647.   0.26 version.
  648.  
  649. - Opcode decode and graphic decode are now done by a single function in
  650.   one step.
  651.  
  652. - Tatsuyuki Satoh (tatuyuki@tky.threewebnet.or.jp) optimized DrawGfx()
  653.   function in case TRANSPARENCY_PEN and TRANSPARENCY_COLOR without remap,
  654.   producing a speed increment of 22-25% (try yourself with Elevator Action!)
  655.  
  656. - Mauro Minenna introduced a new option (-dir4) that simplify the use of
  657.   the joysticks to be connected on the keyboard.  This modify resolves the
  658.   problem of diagonal direction in games such as PacMan, Popeye, and Kung Fu
  659.   Master.
  660.  
  661.  
  662.  
  663. 0.25
  664.  
  665. Program:
  666. - We have added Starforce!  Another one that rocks!!
  667.   Sound is not supported yet.
  668.  
  669. - Finally I've added Tutankham.  (Hi Moose!! ;)  Moose provided me a good
  670.   bunch of information and I lost much time on a stupid bug in bank selection.
  671.   Thanks to David Dahl (techt@juno.com) that provided me a driver too, and
  672.   I found the light!!  Also thanks to Rob Jarrett for the exaustive memory
  673.   map (I've included it in sources, it's better than mine).
  674.  
  675. - I've decrypted the garbled graphics of AntEater and Rescue which are now
  676.   fully playable.  And Fabio Buffoni improved the decode routines with
  677.   thrilling code.  Colors are wrong, unless someone provides me a good
  678.   set of screenshots to study.  Hunchback doesn't work yet.
  679.  
  680. - Nicola added a driver for Mysterious Stone.
  681.  
  682. - Sal and John Bugliarisi provided us technical information about the game
  683.   Naughty Boy.  (Remember that code area is 64k long and not 32k).
  684.   We have implemented a driver and for this game which is now supported.
  685.  
  686. - I took the time to add some high score saving.  So, now Junior Pacman,
  687.   Naughty Boy, Tutankham, Kangaroo, have high score saving support.
  688.   (So Dave will stop bothering me about that ;)  heheh!!!  Joking ;)
  689.  
  690. - Nicola fixed Commando driver, so now intermissions have the correct
  691.   tiles positioned.
  692.  
  693. - Added JrPacman speed cheat.  It works in the same way of Pacman.
  694.   (thanks to Hugo Pi for let me notice this).
  695.  
  696. - Chris Hardy added support for Space Firebird.  Thanks to Chris and to
  697.   all Sage Staff.
  698.  
  699. - Nicola did some fixes to Taito Games (Jungle King and Elevator Action)
  700.   about background placement and coins per credit dipswitch.  Plus vertical
  701.   scroll support in Jungle King (used in ground shake), correct sprite
  702.   priority, and no more rubbish is present during change of stage.
  703.   Finally, he also added preliminar support for WildWestern and FrontLine,
  704.   which are not yet playable.
  705.   DELETE ELEVATOB\ELEVATOB.DSW, JUNGLEK\JUNGLEK.DSW, JHUNT\JHUNT.DSW,
  706.   OTHERWISE THE GAME WILL NOT WORK CORRECTLY.
  707.  
  708. - Eric Anschuetz proposed me to implement a different button layout for
  709.   joysticks.  I replyed with a configurable joystick setup (like the
  710.   keyboard one).  So Eric finished the work providing us a useful joystick
  711.   setup menu.  Thanks Eric and Robert! ;)
  712.  
  713. - Refixed the galaga hiscore bug (it happened when syncing my sources with
  714.   Nicola's ones)
  715.  
  716. - Maurizio Zanello provided a better interface between MAME and frontends.
  717.   And now you can select frameskip rate even while playing, without have to
  718.   exit.  Volume can be controlled with keypad PLUS and MINUS keys.
  719.  
  720. - Robert Anschuetz provided me info about how to enable a shot sample with
  721.   moonquasar, mooncresta, galaxian and clones.
  722.  
  723. - Valerio Verrando fixed the Williams driver to support joystick in
  724.   Blaster, Defender, Joust, Robotron, Splat, Stargate.  Also fixed the Space
  725.   Invaders driver to include high score saving and 100% arcade-perfect colors
  726.   for Lunar Rescue; since some bootleg machines did not use this colorful
  727.   overlay, Destination Earth retains the Space Invaders color scheme.
  728.  
  729. - Bernd has cleaned up VESA command line options.
  730.   No longer supported:
  731.   '-vesascan'   --> use '-vesa' or (faster, if it works) '-vesa2l'
  732.   '-vesaskip N' --> use '-640x480 -skiplines N'  instead
  733.   '-rotate'     --> use '-rol' or '-ror' instead
  734.  
  735.   New:
  736.   '-ror'
  737.   '-rol'  Rotate the display (anti)clockwise.  Since this uses
  738.           the standard VESA scanline mode, you'll get *vertical*
  739.           scanlines on rotated games (authentic?).
  740.   '-nodouble'
  741.           prevents pixel doubling, if you like miniaturised
  742.           arcade emulation. It's also faster than the standard
  743.           pixel-doubling VESA modes.
  744.   '-skiplines N'
  745.           does what '-vesaskip N' used to do, except it does not
  746.           select 640x480 VESA mode.
  747.  
  748. - Minor modifications to Arabian palette.  Ville Laitinen also provided some
  749.   modifications to Kangaroo driver.
  750.  
  751. - Pause key back to 'P'.  Sorry, you cannot use it for your redefinitions,
  752.   but, hey, you have 101 keys left!!! ;)
  753.  
  754. - Found the meaning of SW1 in Moon Cresta (Thanks to Mikiya Yadohisa)
  755.  
  756. - Added Crazy Kong bootleg version by Jeutel and Ms Pac Man Attacks clones
  757.  
  758. Sources:
  759. - Added an alternate 224x288 video mode (on my Matrox this produce correct
  760.   aspect ratio with this tweaked mode).  To select it simply add -224 or
  761.   -224x288 parameter.
  762.  
  763. - Nigel T. Barber  (Nigel.Barber@sgcs.co.uk) added mouse support.  We need
  764.   some feedback, because each mouse device has its own sensitivity.  Enable
  765.   mouse support with -mouse parameter.
  766.  
  767. - Time to use proper MAME fonts.  I draw a good looking complete set of
  768.   chars to be used for messages and menu system in MAME.  Nicola changed
  769.   the entire set of drivers and implemented a user interface sublevel
  770.   (file is USRINTRF.C).
  771.  
  772. - Modifications done by Eric Anschuetz to add joystick reconfiguration
  773.   menu.
  774.  
  775. - I'v changed the system configuration of each game.  Now a game saves all
  776.   vital informations (DSW, KEY, and JOY settings) in a unique file with
  777.   .CFG extension.  A backward compatibility is provided, so the first time
  778.   MAME read previous settings and saves them in the .CFG file at exit/reset.
  779.  
  780. - Bernd changed the VESA code to provide '-rol' and '-ror'
  781.   replacing '-rotate'. Rotation modes are now supported in all
  782.   VESA resolutions. The '-nodouble' option prevents pixel doubling
  783.   in VESA modes, resulting in more speed and a smaller display.
  784.  
  785.  
  786.  
  787.  
  788. 0.24
  789.  
  790. Program:
  791. - Nicola added support for Jr. Pacman.  Decryption method provided by
  792.   David Caldwell (david@indigita.com).  Colors should be 100% right too.
  793.   Hiscore saving not supported yet.  Nicola also thanks Lee Taylor for
  794.   help.
  795.  
  796. - I've found the decryption scheme for garbled chars of Lost Tomb which is
  797.   now playable.  Colors are still wrong.
  798.  
  799. - Also, I've finally fixed my problems with ADPCM decoding, so now Kung Fu
  800.   Master doesn't need separate samples anymore (I didn't distribuite them
  801.   because of copyright on sounds).  The samples are now calculated during
  802.   bootstrap of the game.
  803.  
  804. - Again Nicola added Turpin (Another version of Turtles) support.  Also
  805.   colors are 100% correct the two games now.
  806.  
  807. - Fabrice Frences added support for Qbert Qubes.  Only hitch with the
  808.   driver:  you have to reset (F3) the game at first time when the empty
  809.   supreme noser table appears, then the table will be correctly filled.
  810.   Alternatively, you can insert a coin before this empty table appears...
  811.   Hiscore save not supported yet.
  812.  
  813. - New option in the setup menu: "CREDITS". It displays a list of the people
  814.   who contributed to the current driver. I have surely left out many people,
  815.   and apologize in advance for that. If you contributed to a driver and your
  816.   name doesn't appear in the list, please let me know.
  817.  
  818. - Since many people asked for this and Bernd Wiebelt was so kind to do me
  819.   this gift for my birthday, MAME has now -rotate option.  You'll have to
  820.   turn your monitor (or your head (!) ;)
  821.  
  822. - Nicola fixed definetively Kung Fu Master driver which has now 100% perfect
  823.   colors and sprite positioning.  Thanks to Paul Swan for color scheme.
  824.   Original version (copyright Irem) is now supposed to be in 'kungfum'
  825.   directory, while the bootleg (O.K.) is supposed to be in 'kungfub'.  Test
  826.   mode doesn't work for bootleg version (as is right to be).
  827.   Hi Score Support in each version as well.
  828.  
  829. - In Seicross now shots are enabled.  REMEMBER TO DELETE PREVIOUS .DSW FILE,
  830.   AND SET "DEMO & DEBUG MODE" TO OFF, AND "SW7B" to 1.   Setting SW7B to 0
  831.   will cause to play the game without FIRE facility.
  832.  
  833. - Marc LaFontaine provided drivers for Robotron, Splat, Defender, Joust,
  834.   Stargate, Bubbles, Blaster and Sinistar.  Bubbles doesn't start, and
  835.   Sinistar do weird things at startup.  The other games work very well,
  836.   though.  For this version I provide a set of fonts that can be used
  837.   to avoid jerkiness in williams games.  If you use zipped roms remember
  838.   to include them in the ZIP files.
  839.  
  840. - Added SpaceZap support.  It is based mainly on WOW driver.  Mike Coates
  841.   provided a more stable driver too.
  842.  
  843. Sources:
  844. - Bernd Wiebelt provided new Vesamodes:  320x240 and 512x384.  You can select
  845.   a mode either by -X (e.g. -640) or -XxY (e.g. -640x480).  Also fixed a bug
  846.   that caused -vesaskip 0 not to run properly.  Also added -rotate option.
  847.   Also, any vesa mode in combination with -noscanlines option can be used
  848.   to achieve correct aspect ratio on most monitors.  This method is of
  849.   course slower, and can work flawlessy on P166+ class.
  850.  
  851. - Modifications to support Driver Description and Credits.
  852.  
  853. - Nicola added a new mode in drawgfx: TRANSPARENCY_THROUGH.  When background
  854.   has a higher priority of sprites, it's a lot faster using this option than
  855.   draw sprites and then apply a bitmap with TRASPARENT_COLOR.
  856.  
  857. - Fabrice Frances submitted a new faster I86 emulator.  The entire I86
  858.   directory is changed, and most of Gottlieb games are now faster.
  859.  
  860. - Mike Coates provided a modification to COMMON.C to support multi bank
  861.   characters.  It uses bits 8-15 of the charset array (short int - so
  862.   hopefully at least 16 bits on all implementations) to signify bank number.
  863.  
  864. - Changed the PAUSE key to Scrl-Lock key.  This permits to redefinite the
  865.   P key for playing.
  866.  
  867. - TO ALL CONTRIBUTORS:  Please do not make use of C++ // comments in your
  868.   sources.  I loose a lot of time every release to adjust them.  Then use
  869.   official source release as a base for your next updates.  Use a comment
  870.   style like in Williams.c sources (this is actually my comment style and
  871.   almost clear to read). Thanks.
  872.  
  873.  
  874.  
  875.  
  876. 0.23
  877.  
  878. Program:
  879. - "And there was MUSIC!".  Thanks to Ishmair's FM engine, music is supported
  880.   in Commando, Ghosts 'n Goblins, Diamonds.  Since the synthesis is based
  881.   on FM generation via OPL, you must have a SoundBlaster, Adlib, or compatible
  882.   to get the music.  However I heavily dislike this approach and I'm looking
  883.   for documentation on FM generation.  If anyone want to join to the party
  884.   forward me a mail!
  885.  
  886. - I've also fixed GALAGA hiscore saving, which is now flawlessy supported! ;)
  887.  
  888. - I've added Kung Fu Master driver to MAME.  Credits fly to Ishmair for the
  889.   hardware information and to Nicola for fixing my sprite bugs.
  890.  
  891. - Steven Hugg (hugg@pobox.com) provided a Williams games driver.  Stargate,
  892.   Robotron and Joust are currently supported and playable.  However Robotron
  893.   and Joust have some glitches yet.
  894.  
  895. - Tormod Tjaberg (tormod@sn.no) provided several modifications to Invaders
  896.   Deluxe driver which has now Hi-score Name saving feature (the only one
  897.   Space Invaders Emulator doing so at the moment!).  All Invaders have now
  898.   Tilt too.  Keys and Dip Switch adjusted.  REMEMBER TO DELETE PREVIOUS
  899.   .DSW and .KEY FILES.
  900.  
  901. - John Butler and Ed. Muller provided a driver for QIX!  High Score saving
  902.   supported too.
  903.  
  904. - Thankx to Dock Cutlip (dockc@cyberplanet.net) Pacman Plus has now 100%
  905.   arcade correct colors.
  906.  
  907. - While talking of colors, Ghosts 'n Goblins has 100% correct colors too!
  908.   Thanks to Gabrio Secco that provided us the complete colors LOG file ;)
  909.  
  910. - I've fixed Seicross which is now playable and has music too.  REMEMBER TO
  911.   DELETE PREVIOUS .DSW FILE, AND SET "DEMO & DEBUG MODE" TO OFF.
  912.  
  913. - Also fixed Nibbler colors:  I should say 100% correct colors, but I
  914.   remember the Nibbler hairs were Green versus Purple.  Maybe I played a
  915.   bootleg version.
  916.  
  917. - Added Phoenix TPN clone ("phoenix3").  I've also added hiscore support to
  918.   all Phoenix and Pleiads as well.
  919.  
  920. - Fixed the "ape" bug in Kangaroo.
  921.  
  922. - Full rotation allowed in Mad Planets (Thanks to Andrew Scott).
  923.  
  924. - Some fix to Popeye and Burgertime sound pitch.
  925.  
  926. Sources:
  927. - Modifications were done to M6809 emulator to support FIRQ.
  928.  
  929. - Changes were done to MSDOS.C to fix OSD_READ_KEY for people having
  930.   problems with keyboard.
  931.  
  932. - Dip Switches and Key Settings are now selectable thru a menu system.
  933.   F8 key is no longer supported.
  934.  
  935.  
  936.  
  937.  
  938. [ Sorry to be late, but this is my birthday MAME release and I wanted it to
  939.   be as good as possible.  Enjoy, and send a postcard if you like ;)  NdMix ]
  940.  
  941. 0.22
  942.  
  943. Program:
  944. - Nicola added COMMANDO!!  Another of my favourite games back to life ;)
  945.   High score supported as well.  Original Sound is done by YM2203
  946.   (FM synthesis) while now is done by 8910 (no FM).
  947.   So music is not present.
  948.  
  949. - And here it is:  thanks to Roberto Ventura's superdetailed documentation
  950.   I've added Ghost 'n Goblin support.  I lost one week because of a bug in
  951.   the new 6809 emulator, so I switch back to the previous one.  Big thanks
  952.   to Nicola that fixed some stupid bugs in color palette generation. ;)
  953.   We need a skilled player.  READ THE README.TXT FILE!
  954.  
  955. - Another one added:  based on GnG hardware I've added Diamond Run support.
  956.   Don't know if the banks mode switch is right, it's too slow for me
  957.   to go further the first level!
  958.  
  959. - Added Vulgus support.  Colors are wrong unless I find the color proms.
  960.   High score save supported.  I played around with Dip Switches: they are
  961.   almost right, though, but there should be also a sound toggle while in
  962.   attract mode.
  963.  
  964. - Rick Wirch (wirch@execpc.com) proposed a better optimization to Cpu_readmem
  965.   and Cpu_writemem.  Speed results are good under DOS and Windows.
  966.  
  967. - Brad Oliver provided me a lot of suggestions to improve portability and
  968.   fixed a lot of bugs.
  969.  
  970. - Paul Berberich fixed some colors of Congo Bongo.  They are not right but
  971.   a lot better of the previous.  Screenshots could be useful.
  972.  
  973. - I have fixed colors in Centipede.  Thanks to Ivan Mackintosh for sending
  974.   me the info.
  975.  
  976. - Nicola added cars in radar update of RallyX and improved color palette
  977.   emulation in Bombjack which has now perfect colors.
  978.  
  979. - Fixed credit bugs in Elevator Action and Turtles.  REMEMBER TO DELETE
  980.   THE PREVIOUS .DSW FILES OTHERWISE THE GAMES WON'T WORK PROPERLY!
  981.  
  982. - Added preliminary sound support to Elevator Action and Jungle King.
  983.   Tarzan yell scream sample missing.
  984.  
  985. - Time pilot has now 100% correct colors (thanks Virtu-Al!).
  986.  
  987. - Some fixes to sprite priority in Frogger.
  988.  
  989. - Added high score support to Amidar, Frogger.
  990.  
  991. - Added Phoenix Amstar (clone) support, Pac Man Plus (clone) and fixed
  992.   all Invader's clones bugs.  Also fixed charset of all Invader's clones.
  993.  
  994. Sources:
  995. - Changed CPUIntrf regarding readmem/writemem optimizations
  996.  
  997. - Minor fixes to some drivers
  998.  
  999. - Bernd Wiebelt provided modifications to MSDOS.C for Vesa 2.0 linear
  1000.   and banked extensions.  Also inline assembly double pixeling provided
  1001.   a faster approach on slower videocards.  Check the readme.txt file for
  1002.   new video options.
  1003.  
  1004.  
  1005.  
  1006. 0.21.5
  1007. - Nicola fixed a bug in Memory addressing that caused Galaga to trash
  1008.   under DOS.  Also, fixed colors in Elevator Action (100% correct colors)
  1009.   and Jungle King (I have some screenshots and colors doesn't match.  BTW
  1010.   these are much better than previous).  Finally Jungle King doesn't need
  1011.   to select the graphic bank, but still have some glitches on sprites.
  1012.  
  1013. - Fixed a bug in sound init of phoenix/pleiads that caused the game to
  1014.   crash under dos.
  1015.  
  1016. - Fixed a bug in keys redefinition routine:  ALT, SHIFT, and CONTROL are
  1017.   now selectable.
  1018.  
  1019. - Fixed 224x288 noscanline video mode.  It's centered again now.
  1020.  
  1021. Sources:
  1022. - Changed MSDOS.C to support 240x272 (video mode provided by V.Verrando)
  1023.  
  1024. - Changes in COMMON.C to copyscrollbitmap()
  1025.  
  1026.  
  1027.  
  1028. 0.21
  1029.  
  1030. Program:
  1031. - I'd like to say I've finished, but Nicola is too fast as always! ;)
  1032.   So thanks to Nicola we have GALAGA!!  And very special thanks to Martin
  1033.   Scragg that provided us crucial information on custom I/O chips.
  1034.  
  1035. - Thanks to Dark Schneider (DS wanted to be anonymous, so I'll call him
  1036.   this way) that provided 6809 support and the first driver working on this
  1037.   CPU: Super Pac Man.  The driver is based on the super-detailed KEG file
  1038.   of Replay emulator by Kevin Brisley (kevin@isgtec.com).
  1039.   Thanks to everyone.
  1040.  
  1041. - Ville Laitinen provided a driver for Kangaroo, based on the Arabian
  1042.   hardware.  I've also adjusted the number of frames per second to 60
  1043.   to the two drivers.  Sync with sound should be better, though.
  1044.  
  1045. - Thank to Virtu-Al (Alan J McCormick (gonzothegreat@JUNO.COM)) Amidar
  1046.   and Turtles now have 100% correct colors.
  1047.  
  1048. - Arabian has correct colors now.
  1049.  
  1050. - Fixed a bug in all games with starbackground:  using a frameskip > 0
  1051.   introduced slowdowns.  Now the speed remains unchanged.
  1052.  
  1053. - Fixed tempo speed in 1942.  It was playing at half speed. Should be
  1054.   correct now.  Also fixed a bug in noise volume of PSG.  Noise was
  1055.   playing at half volume.
  1056.  
  1057. - Added support for Donkey Kong japanese version
  1058.  
  1059. - Minor adjustment to Space Invaders color strips
  1060.  
  1061. - Mad Planets doesn't crash anymore with the new samples (shorter!)
  1062.  
  1063. - Added colors to Warp Warp.  Thanks again Chris.
  1064.  
  1065. - Fixed Dipswitch in Elevator Action.  YOU'LL HAVE TO DELETE THE PREVIOUS
  1066.   DSW FILE IN "ELEVATOB" DIRECTORY IN ORDER TO GET IT RUN CORRECTLY.
  1067.  
  1068. Sources:
  1069. - Added M6809 CPU support.  Changes in CPUIntrf.c and Driver.h to accomodate
  1070.   the new CPU.
  1071.  
  1072. - Nicola introduced changes to the Z80 emulator code that intercept some
  1073.   sorts of tight loop used during an interrupt waitstate.  Normal games
  1074.   should not be affected, while Galaga and 1942 are now very fast!!
  1075.  
  1076. - Added MasterVolume in MSDOS.C, and changed MAME.C to support this feature.
  1077.   You can change the volume thru various volume percentage [100,75,50,25,0]
  1078.   pressing F9.
  1079.  
  1080. - Sound is freezed now during GFXView, Pause and DipSwitch settings.[Ahhh! ;)]
  1081.  
  1082. - I've added redefinable keys in MAME.  A new structure cointains which
  1083.   input ports and bits have a certain meaning.  The KEY settings will be
  1084.   saved in a .KEY file, in the game directory.
  1085.  
  1086. - Changes in COMMON.H for the sample structure.  Now it has infos on
  1087.   replayrate, resolution and volume of the sample to be played.
  1088.   BE SURE TO DOWNLOAD THE NEW SET OF SAMPLES, OR THE "MAMESAM" CONVERTER
  1089.   OR YOU WILL GET NO SOUND FOR SAMPLE BASED GAMES!!
  1090.  
  1091.  
  1092.  
  1093.  
  1094. 0.20
  1095.  
  1096. Program:
  1097. - Yes!!  Finally I wrote a driver for Gyruss, one of my favourite games
  1098.   and one of the reasons why I started emulation.  Big special thanks
  1099.   to Michael Cuddy, without help and information this game would probably
  1100.   never be done;  and to Nicola Salmoria that fixed some of the sprites
  1101.   bugs that turned me mad and cleaned the code! ;)
  1102.  
  1103. - The following changes were done by Nicola Salmoria:
  1104.   - 1942 has correct colours.  Also fixed rom paging, so now it has no more
  1105.     slowdowns.  Fixed jerkiness.  Sound is better, too.  How about the
  1106.     tempo?  How about the pitch?  Are they right?
  1107.   - fixed missing sprites when exiting from doors in Elevator Action. There
  1108.     are still some sprite priority bugs.  Also better colors.
  1109.   - Thanks to Marc LaFontaine's invaluable help, Popeye is now fully playable
  1110.     and has 100% accurate colors.  Supports high score saving, too.
  1111.     Still very slow.
  1112.  
  1113. - Brad Oliver found a lot of bugs around the code.  Fixed 1942 background
  1114.   scroll, Arabian video driver, and Phoenix sound init routine (all those
  1115.   caused trashes on MAC).
  1116.  
  1117. - Paul Berberich fixed some colors of Donkey Kong that is now quite close
  1118.   to original arcade.  Also Donkey Kong Jr. has better colors now.
  1119.  
  1120. - Fabrice Frences provided a driver for Krull.  Also fixed some bugs in
  1121.   qbert, and returned audio to Mad Planets.
  1122.  
  1123. - Ron Fries created a new set of Donkey Kong samples, using Mike Cuddy's
  1124.   8039 emulator.  The new samples no longer have static, they are aliased
  1125.   and louder.  All names are now generic, so the same name can be used
  1126.   across Nintendo line (DK, DKjr, DK3, Mario).
  1127.  
  1128. - Chris Hardly kindly provided a working driver for Warp Warp.
  1129.  
  1130. - Dave W. provided a new set of invaders samples.  Should be better, though.
  1131.  
  1132. - Frogger music tempo bring back to original value.  Fast but flawless!
  1133.  
  1134. Sources:
  1135. - Changed 8910intf to support 5 PSGs (Gyruss have them!)
  1136.  
  1137. - Changes in MAME.C:  added -list option.  This is useful for mantaining
  1138.   the readme file.  It lists currently supported games.  Thanks to Zanello
  1139.   Maurizio for suggestion.
  1140.  
  1141. - Changes in MSDOS.C:  vesa and vesascan are now mutex.  Also fixed a bug
  1142.   caused by calling joystick initialize before starting allegro.
  1143.  
  1144. - To UNIX users:  sorry for the mess I did in my previous distribuition.
  1145.   All names and patches should be ok now.
  1146.  
  1147. - Nicola Salmoria provided the following changes:
  1148.   - changed GENERIC.C to add sound_command_latch_r(): this always return the
  1149.     last command, instead of 0, if there are no more pending commands. This
  1150.     was required by 1942.
  1151.  
  1152.   - new flag for the cpu type: CPU_AUDIO_CPU. For example, you'll define a CPU
  1153.     type as CPU_Z80 | CPU_AUDIO_CPU. This indicates that the CPU is a slave
  1154.     used for audio only, and is therefore not needed if sound is disabled.
  1155.     The CPU will not be emulated when sound is turned off, therefore speeding
  1156.     up the emulation a lot.
  1157.  
  1158.   - also, 8910_sh_update() doesn't emulate the 8910 audio if sound is disabled
  1159.     (the I/O ports of the chip are still emulated, since some games use them
  1160.      for input).
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166. [ Sorry to be late, I just taken my graduation in Computer Science and I
  1167.   was a little busy.  Here we go! :> ][NdMix]
  1168.  
  1169. 0.19
  1170.  
  1171. Program:
  1172. - Thanks to Marc LaFontaine we have now support for Popeye.  It's not yet
  1173.   playable (when the game starts the machine resets) but it has music already.
  1174.   It's also very slow, since it uses a 512x480 screen.  I'm looking for
  1175.   decryption scheme for original Popeye board using Lionel's idea [pain!].
  1176.  
  1177. - Fabrice Frences fixed the Qbert driver and added support for Reactor.
  1178.  
  1179. - Jarek Burczynski provided a preliminar but playable driver for Arabian.
  1180.   Colors are wrong, but it support sound already.
  1181.  
  1182. - Mike Coates fixed the Space Panic background colors.  Also added hiscore
  1183.   support.
  1184.  
  1185. - Nicola Salmoria found how Elevator Action background works.  Also updated
  1186.   all drivers that have a scrolling background.  Support for the bootleg
  1187.   version of Elevator Action ("elevatob"). The original version doesn't
  1188.   work because of copy protection.  The graphics are almost OK now,
  1189.   albeit quite slow.
  1190.  
  1191. - Paul Leaman (author of the 1942 emulator) provided exhaustive information
  1192.   on (guess what) 1942, which is now supported.
  1193.  
  1194. - Some changes to music tempo of Frogger
  1195.  
  1196. - Added partial sound support to RallyX (no explosions yet). Thankx to Ron
  1197.   Fries.
  1198.  
  1199. - Added preliminar unplayable WarpWarp.  Graphic is ok, but the game hangs
  1200.   during diagnostic.
  1201.  
  1202. - Changed noise_lenght and noise_rate values in Moon Cresta audio driver,
  1203.   so now noise is much more noisier!
  1204.  
  1205. - Shaun Stephenson provided me original Phoenix sound samples, so I adjusted
  1206.   sound driver to achieve correct sound modulation and frequency, and
  1207.   substituted noise generator for shots and explosions with a couple of
  1208.   samples.  Noise generator can be still used (just don't put the samples
  1209.   in the directory) with Phoenix and it's used in Pleiads.  I changed
  1210.   white noise waveshape and adjusted frequency, so now it sounds better.
  1211.  
  1212. Source:
  1213. - Added input ports 5 and 6 in CPUINTRF module.
  1214.  
  1215. - Fixes to setdipswitches() and the fps counter in COMMON.C, to make them
  1216.   work correctly with non 8x8 fonts.
  1217.  
  1218. - Substituted strcmp() with case insensitive stricmp() in MAME.C and MSDOS.C.
  1219.   This solve the problem with upcase gamename (ex: Win95 and NDOS).
  1220.  
  1221. - Added copyscrollbitmap() to COMMON.C, that semplifies programming for
  1222.   those games that use scroll.
  1223.  
  1224.  
  1225.  
  1226. 0.18
  1227. ----
  1228.  
  1229. IMPORTANT NOTE: This will be the last version of MAME released by me (Nicola
  1230. Salmoria). From now on, the project will be maintained by Mirko Buffoni
  1231. (mix@lim.dsi.unimi.it). Contact him if you have material to submit for
  1232. inclusion into MAME. Please don't send such material to me.
  1233.  
  1234.  
  1235. Program:
  1236. - Green Beret:
  1237.   - The speed should now be VERY accurate. It also syncs correctly with the
  1238.     music.
  1239.   - Sound pitch should be correct as well (though it changes after you die
  1240.     for the first time...)
  1241.   - High score support.
  1242.   - Fixed sprite clipping problem on the left of the screen.
  1243.   - Fixed memory trashing bug in dirtybuffer handling
  1244.  
  1245. - I finally added some lousy, very inaccurate, noise to the 76496 emulator.
  1246.   This affects Lady Bug and Green Beret.
  1247.  
  1248. - I also added the same lousy noise to Galaxian, Pisces, Moon Cresta, Moon
  1249.   Quasar.
  1250.  
  1251. - Fixed bug in the 8910 emulation which caused noise to be played in Crazy
  1252.   Kong when you jumped over a barrel.
  1253.  
  1254. - Zaxxon and Congo Bongo now save their high scores for real. The code had
  1255.   disappeared from the drivers... I _did_ write it, since I had .hi files in
  1256.   my directories ;-)
  1257.  
  1258. - High score support in Space Invaders (Invaders only - not clones)
  1259.  
  1260. - Bomb Jack is much faster on a 486. Now runs very well with -frameskip 1 on
  1261.   my 486/100.
  1262.  
  1263. - Sprite placement in Pac Man, Ms Pac Man and Crush Roller should now be
  1264.   arcade perfect. Thanks to Richard Davies who verified it on a real machine.
  1265.  
  1266. - Preliminary support for Jungle King / Jungle Hunt. Slow but playable. I
  1267.   haven't the gfx bank selector, therefore you'll have to pick the correct
  1268.   background graphics yourself. Use keys C and V to change it.
  1269.  
  1270. - VERY preliminary support for Elevator Action. Not playable.
  1271.  
  1272. - Preliminary support for Seicross, using the Crazy Kong driver. Not playable.
  1273.  
  1274. - Marc Lafontaine fixed some problems in the Venture driver, and provided
  1275.   drivers for Mouse Trap and Pepper II, which run on similar hardware (Pepper
  1276.   II is not complete yet).
  1277.   Note that the required Venture ROM set has changed - the other one was
  1278.   missing one ROM.
  1279.   Collision detection doesn't work - in Mouse Trap, you can use keys 7 and 8
  1280.   to simulate a sprite-to-character and a sprite-to-sprite collision.
  1281.  
  1282. - Rotated the controls for Q*Bert
  1283.  
  1284. - Some changes to music tempo in Amidar, Pooyan, Time Pilot.
  1285.  
  1286. - Added support for the original, Universal version of Mr. Do!. I renamed the
  1287.   other, which has an additional Taito copyright notice, "mrdot".
  1288.  
  1289. - Support for a version of Crazy Kong running on Scramble hardware
  1290.  
  1291. - Mike Coates provided a Space Panic driver.
  1292.  
  1293. - Fixed bugs in Jump Bug and Bagman sound drivers which caused page faults
  1294.   when run under DOS.
  1295.  
  1296. - Fabrice Frances submitted a much faster version of the 8086 emulation.
  1297.   Q*Bert now runs at full speed with -frameskip 1 on my 486/100.
  1298.  
  1299. Source:
  1300. - Samples are now loadaed by the main engine, not the single drivers. This is
  1301.   done via the new field samplenames in the GameDriver structure. Samples can
  1302.   then be retrieved by the drivers in Machine->samples.
  1303.  
  1304.  
  1305. 0.17
  1306. ----
  1307.  
  1308. Program:
  1309. - Various fixes to Green Beret:
  1310.   - Thanks to Paul Swan, it now has 100% accurate colors.
  1311.   - Dip switches didn't work, fixed.
  1312.   - Support for Rush'n Attack (the US version)
  1313.   - I've been told that it actually was too fast, so now it runs slower.
  1314.     Let me know how accurate it is.
  1315.  
  1316. - Fabrice Frances submitted a massive contribution: an 8086 CPU emulator, and
  1317.   drivers for Q*Bert and Mad Planets. They run quite slowly on my 486/100
  1318.   (~25 fps) but are playable. Q*Bert has sound too (with samples).
  1319.  
  1320.  
  1321. 0.16
  1322. ----
  1323.  
  1324. Program:
  1325. - Support for Green Beret, with partial sound (probably inaccurate).
  1326.   Colors are terrible. If you can see what you are doing, it's playable (but
  1327.   should it be this fast? I find it very hard)
  1328.  
  1329. - Richard Davies and Brad Oliver provided drivers for the so-called "Sega"
  1330.   version of Jump Bug (it's actually a bootleg with the protection checks
  1331.   removed). The driver supports sound.
  1332.  
  1333. - Added joystick support to Vanguard.
  1334.  
  1335. - Support for Fantasy on the Nibbler driver. There are several problems, it's
  1336.   not playable.
  1337.  
  1338. - Thanks to Mike Coates and Peter Clare, Carnival now has colors.
  1339.  
  1340. - Stefano Mozzi provided a much better palette for Mario Bros.
  1341.  
  1342. - Matthew Hillmer submitted a new palette for Donkey Kong 3. It is not
  1343.   intended to be correct, but at least it gets rid of the annoying
  1344.   checkerboard effect.
  1345.  
  1346. - Tormod Tjaberg provided updated Space Invaders (+clones) drivers which
  1347.   support sound. They use samples, derived from Michael Strutts' emulator.
  1348.  
  1349. - Support for Fantazia (bootleg version of Moon Cresta)
  1350.  
  1351. - Fixed a couple of remaining graphic glitches in the Wizard of Wor driver.
  1352.  
  1353. - Various fixes to Burger Time:
  1354.   - Fixed CPU clock speed to avoid slowdowns on fourth level.
  1355.   - It's much faster on a 486.
  1356.   - Sprites no longer "stick" on the screen on a level change.
  1357.   - Fixed a bug in high score save.
  1358.   DELETE BTIME\BTIME.HI, OTHERWISE THE HIGH SCORE TABLE WILL BE CORRUPTED
  1359.  
  1360. - Marc Lafontaine provided a Venture driver. It is partially playable,
  1361.   sprites are wrong.
  1362.   On startup, keep 1 or 2 pressed to proceed.
  1363.  
  1364. Source:
  1365. - I wrote some general purpose routines to simplify interface with the AY8910.
  1366.   They are in 8910intf.c. See the existing drivers for usage examples.
  1367.  
  1368. - To solve the problem with garbled text messages in Time Pilot, modified the
  1369.   GameDriver structure replacing letters_start and numbers_start with the
  1370.   array charset[36].
  1371.  
  1372. - I finally took the time to change Z80.h/M6502.h to make them work together.
  1373.   This allowed me to remove some kludges in cpuintrf.c. I also added some new
  1374.   functions, which can be used regardless of the CPU type: cpu_getpc(),
  1375.   cpu_geticount(), cpu_seticount().
  1376.  
  1377. - Fixed a couple of bugs in M6502 BCD arithmetic. One of them was causing the
  1378.   pepper counter in Burger Time to behave strangely.
  1379.  
  1380. - Brad Oliver modified pokey.c and pokey.h to make them more portable.
  1381.  
  1382.  
  1383. 0.15
  1384. ----
  1385.  
  1386. Program:
  1387. - Jarek Burczynski submitted a sound driver for Bomb Jack.
  1388.   The game is now a bit slow on my 486/100, -frameskip 1 is almost good but
  1389.   not quite.
  1390.  
  1391. - Sound support in:
  1392.   Scramble
  1393.   Super Cobra (note that the "scobra" rom set is wrong - ROMs 5c, 5d and 5e
  1394.                must be 2k, not 4k. You can take them from one of the other two
  1395.                sets).
  1396.   The End
  1397.   Battle of Atlantis
  1398.   Lost Tomb (very nice sound, pity the ROMs are corrupted)
  1399.   Amidar
  1400.   Turtles
  1401.   Frogger
  1402.   Pooyan
  1403.   Time Pilot
  1404.  
  1405.   All these require -frameskip 1 on my 486/100.
  1406.  
  1407.   I have no idea how accurate the tempo and pitch is. If you can compare it
  1408.   with a real machine, please let me know what's wrong.
  1409.  
  1410.   Note: I discovered that the garbled sound I experienced in Scramble was
  1411.   caused by a bad ROM. Therefore, if sound doesn't work, check your ROM
  1412.   set. Note that I also changed one ROM name from "2c" to "2d".
  1413.  
  1414. - Carnival is finally working! Many thanks to Richard Davies who understood
  1415.   how to make it accept coins.
  1416.  
  1417. - Brad Oliver deserves a prize for being the person who, alone, has
  1418.   discovered more bugs than everyone else put together. This time the bug
  1419.   was illegal memory acesses in games using 224x288 and 288x224 modes (Pengo,
  1420.   Pac Man, Rally X).
  1421.  
  1422. - Thanks to the invaluable help of Steve Scavone, I've been able to fix
  1423.   many bugs in the Wizard of Wor driver.
  1424.  
  1425. - Added support for a version of Galaxian which is known to be original. It
  1426.   has Namco copyright and the code is slightly different from the other
  1427.   Galaxian (which has Midway copyright). I called this version "galaxian",
  1428.   and renamed the other "galmidw".
  1429.  
  1430. - High score support in Pac Man, Ms. Pac Man, Crush Roller, Burger Time,
  1431.   Zaxxon, Congo Bongo, Pooyan, Moon Cresta, Moon Quasar.
  1432.  
  1433. - Support for a different version of Frogger ("frogsega").
  1434.  
  1435. - Miscellaneous graphics fixes to Zaxxon and Congo Bongo. Also better colors
  1436.   (especially in Congo Bongo), thanks to Marc Lafontaine.
  1437.  
  1438. - Fixed most of the graphics problems with Moon Patrol. The video driver is
  1439.   a gigantic kludge right now, but it works and at a reasonable speed
  1440.   (though I can't reach 60fps on my 486/100).
  1441.  
  1442. - Many people requested a way to syncronize with the video beam, to avoid
  1443.   jerkiness. Here it is: -vsync. It should be used together with -noscanlines,
  1444.   and possible -vgafreq to adjust the frame rate to be as close as possible
  1445.   to 60fps (use F11 to check the actual frame rate). Note that this, unlike
  1446.   the default timer based sync, will NOT downgrade nicely if your system is
  1447.   not fast enough.
  1448.  
  1449. - Bernd Wiebelt provided new code for -vesascan, and implemented the new
  1450.   "-vesaskip n" mode. It uses a 640x480 screen instead of the 800x600 used
  1451.   by -vesascan, and allows you to scroll the visible area using the PGUP and
  1452.   PGDOWN keys.
  1453.  
  1454. - Maintaining the endless list of ROM subdirectories was getting quite boring,
  1455.   so I modified readroms() to make it automatically print the complete list of
  1456.   required ROMs if one is missing. I think I should add a CRC check as well.
  1457.   I also added a brief explanation of what ROMs are and why they are required -
  1458.   hoping this will cut down the flow of e-mail asking "gee, I run your program
  1459.   and it says 'unable to open file xxxx/xxxx', what should I do?"
  1460.  
  1461.  
  1462. 0.14
  1463. ----
  1464.  
  1465. Program:
  1466. - Fixed bug in Mario Bros. high score loading: it was recovering the high
  1467.   score table, but the high score at the top of the screen was not set
  1468.   accordingly.
  1469.  
  1470. - Mario Bros. and Donkey Kong 3 now also preserve the score distributions
  1471.   (use F1 to see them)
  1472.  
  1473. - High score support in Galaxian, Time Pilot, Centipede and Millipede.
  1474.   However, high scores don't seem to work in Millipede (you are not asked
  1475.   to enter your name).
  1476.  
  1477. - Fixed bug which sometimes caused 6502 games not to run (actually they did
  1478.   run, but interrupts didn't happen).
  1479.  
  1480. - Since the US version is better, I renamed amidar to amidarjp, and
  1481.   amidarus to amidar.
  1482.  
  1483. - Renamed pleiades to pleiads.
  1484.  
  1485. - The change in video modes suggested by ue303ey@sunmail.lrz-muenchen.de
  1486.   didn't work on some systems, so I reverted to the previous one.
  1487.  
  1488. - Ron Fries provided a new version of his Pokey emulator which fixes problems
  1489.   in the interface with the SEAL audio library (signed vs. unsigned samples).
  1490.  
  1491. - Ron Fries also added preliminary sound support to Donkey Kong! It uses some
  1492.   very bad samples for now. The samples are distributed in a separate archive
  1493.   - put them in the dkong subdirectory.
  1494.  
  1495. - Richard Davies updated the audio routines in Phoenix, sound is now closer
  1496.   to the original and noise is emulated.
  1497.  
  1498. - Brad Oliver and Mirko Buffoni provided a driver for Vanguard, based on Brian
  1499.   Levine's Vanguard emulator.
  1500.  
  1501. Source:
  1502. - driver.c was getting much too large and confused. I moved the GameDriver
  1503.   structures inside the single driver/xxxx.c files. This has the additional
  1504.   benefit that people sending me drivers will not forget to include the ROM
  1505.   loading addresses ;-)
  1506.  
  1507. - I also changed the GameDriver structure, moving there fields from the
  1508.   MachineDrivers structure. The idea is that MachineDriver should describe
  1509.   the hardware, while GameDriver the software. Therefore things like colors
  1510.   (which are usually stored in a PROM) and dip switch settings go into
  1511.   GameDriver; decode_color_prom, on the other hand, goes into MachineDriver
  1512.   because it is an hardware function.
  1513.   It could be argued that input_ports belong to the hardware; but sometimes
  1514.   we have keys tied to dip switches (test switches and so on) whose function
  1515.   is determined by the software. Moreover input_ports contains the default
  1516.   values for all ports, including dip switches, and those are definitely
  1517.   software related.
  1518.  
  1519.  
  1520. 0.13
  1521. ----
  1522.  
  1523. Program:
  1524. - Added the most frequently asked feature: high score saving. Check the
  1525.   table at the beginning of readme.txt to see which games already support
  1526.   it.
  1527.   High scores are also reset-proof: you can reset the game by pressing F3
  1528.   without losing them. To reset the high scores to their default, just
  1529.   delete xxx\xxx.hi where xxx is the game name.
  1530.   Note that hi score saving will NOT work if the default hi scores have been
  1531.   modified in the ROMs. Use the original ROMs.
  1532.  
  1533. - Fixed all of the problems in Burger Time related to ROM encryption. Slices
  1534.   fall more than one level when an enemy is on them, no more crashes when a
  1535.   bonus life is earned, the high screen table works, two players mode works,
  1536.   and other things.
  1537.  
  1538. - Support for an alternate ROM set for Burger Time, which is likely an
  1539.   earlier version.
  1540.  
  1541. - Millipede's dip switches now work.
  1542.   DELETE MILLIPED\MILLIPED.DSW, OTHERWISE THE GAME WILL NOT WORK CORRECTLY.
  1543.  
  1544. - Marc Lafontaine submitted a new palette for Zaxxon.
  1545.  
  1546. - Richard Davies provided a new Phoenix/Pleiads driver with partial sound
  1547.   support.
  1548.  
  1549. - Fixed "froggers" (I broke it while adding sound to Scramble).
  1550.   It now also uses the correct palette. Yes, I know that it is completely
  1551.   different from the real Frogger. This is a bootleg version, remember.
  1552.  
  1553. - As promised, I modified the 8910 emulator to set the clock frequency at run
  1554.   time, so sound in Crazy Climber and Crazy Kong is now back as normal.
  1555.  
  1556. - ue303ey@sunmail.lrz-muenchen.de reports that changing the horizontal total
  1557.   register of the custom video modes (0x3d4, 0x00) from 0x5f to 0x61 makes
  1558.   them work on his monitor. I experimentally made the change.
  1559.   IF THE CUSTOM MODES WORKED FOR YOU IN VERSION 0.12 AND THEY DON'T WORK ANY
  1560.   MORE, PLEASE NOTIFY ME AND I WILL REVERT TO THE PREVIOUS SETTING.
  1561.  
  1562. - Keith Smethers suggested to add -vgafreq n command line parameters,
  1563.   to select the VGA clock frequency. This may reduce flicker, especially in
  1564.   the 224x288noscanlines mode.
  1565.   WARNING: THE FREQUENCIES USED MIGHT BE WAY OUTSIDE OF YOUR MONITOR RANGE,
  1566.   AND COULD EVEN DAMAGE IT. USE THESE OPTIONS AT YOUR OWN RISK.
  1567.  
  1568. - I began working on Moon Patrol's background. It's quite messed up now.
  1569.  
  1570. - Fixed a couple of minor bugs in Bomb Jack background colors.
  1571.  
  1572. Source:
  1573. - Use latest version of Marat's 6502 engine.
  1574.  
  1575. - Changes to struct GameDriver to accomodate the high score saving functions.
  1576.   I also moved the decryption pointers at the end, so it is not necessary to
  1577.   explicitly define them as 0 when they are not needed.
  1578.   Check driver.c to see how high score handlers should be written.
  1579.   hiscore_load() is called every vblank until it returns nonzero; this allows
  1580.   it to wait for the hi score table to be fully initialized before replacing
  1581.   it. To avoid saving an incomplete table, hiscore_save() is called only
  1582.   if hiscore_load() previously returned nonzero.
  1583.  
  1584.  
  1585. 0.12
  1586. ----
  1587.  
  1588. Program:
  1589. - Sound support in Burger Time. This is the first multiple CPU game supported
  1590.   by MAME (two 6502, one for code, one for sound).
  1591.   It's not perfect, but we're getting there.
  1592.   Also, as you can guess, this is slow. A 486/100 cannot handle it at 60 fps.
  1593.   Runs reasonably with -frameskip 1, though.
  1594.  
  1595. - I also set up the second CPU to emulate sound in Scramble, but the sound
  1596.   that comes out is completely wrong. I don't know what I'm missing, anyone
  1597.   can help?
  1598.  
  1599. - Since the 8910 emulator doesn't allow to set the clock frequency at runtime,
  1600.   I temporarily switched to using the default one. This affects sound in Crazy
  1601.   Climber, Crazy Kong and Bagman. Let me know whether it's better or worse
  1602.   than before.
  1603.  
  1604. - Sound in Centipede, through Ron Fries' POKEY emulator.
  1605.  
  1606. - Fixed speed in Burger Time (was running at about half the real speed).
  1607.  
  1608. - Valerio Verrando provided 288x224 video modes to be used with Rally X.
  1609.   WARNING: these video modes might be unstable (the noscanlines one hangs my
  1610.   system). Any help to make them better would be appreciated.
  1611.   As usual, if the default mode doesn't work on your system, try -noscanlines.
  1612.   If that doesn't work as well, use -vesa.
  1613.  
  1614. - I finally found out what was causing slowdowns in Rally X and Bagman. It was
  1615.   an interrupt related issue (see later). I hope I didn't break a dozen of
  1616.   other games to fix this ;-)
  1617.  
  1618. - Thanks to Mike Cuddy and Mirko Buffoni, Pooyan colors are now MUCH better ;-)
  1619.   I also fixed a bug in the dip switches.
  1620.   MAKE SURE TO DELETE POOYAN\POOYAN.DSW, OTHERWISE IT WILL NOT WORK CORRECTLY.
  1621.  
  1622. - I suddenly realized that Time Pilot runs on the same hardware as Pooyan, so
  1623.   I made a driver for it. Colors come straight from Mike Cuddy's emulator.
  1624.  
  1625. - Gary Walton confirms that the colors in Moon Cresta and Moon Quasar are 100%
  1626.   accurate. Very good!
  1627.  
  1628. - The background stars in Scramble / Super Cobra now blink. However I don't
  1629.   know how close to the real thing it is.
  1630.  
  1631. - Ville Laitinen pointed out that The End runs on Scramble hardware, so it now
  1632.   uses the same driver. He also fixed problems with the input controls and two
  1633.   players modes.
  1634.   IMPORTANT: MAKE SURE TO DELETE THE FILES SCRAMBLE\SCRAMBLE.DSW AND
  1635.   THEEND\THEEND.DSW, OTHERWISE THE GAMES WILL NOT WORK CORRECTLY.
  1636.  
  1637. - Ville also fixed sprite priorities in Congo Bongo.
  1638.  
  1639. - Doug Jefferys provided the color PROMs for Crazy Kong, so colors are now 100%
  1640.   accurate (with the possible exception of Kong itself, which uses a separate
  1641.   palette).
  1642.  
  1643. - Support for Moon Ranger (bootleg version of Moon Patrol).
  1644.  
  1645. - Added support for Lost Tomb (Stern game running on Super Cobra hardware),
  1646.   but it doesn't work well (crashes during the demo, and it's not playable) and
  1647.   the graphics are garbled. I think some of the ROMs might be corrupted.
  1648.  
  1649. - Preliminary support for Jump Bug. It uses a modified Scramble driver, the
  1650.   hardware seems to be similar. It's not playable (the input bits are not even
  1651.   mapped), and resets after a few seconds.
  1652.   I'm not particularly interested in this game, anyone volunteers to complete
  1653.   the driver?
  1654.  
  1655. - Support for the version of Super Cobra with Stern copyright.
  1656.   NOTE THAT I RENAMED THE OTHER ONE (Konami copyright) "scobrak".
  1657.  
  1658. - Ivan Mackintosh provided a Millipede driver (dip switches are not supported
  1659.   yet). Sound doesn't work, I don't know why.
  1660.  
  1661. - Brad Oliver provided a preliminary version of the Mr. Do's Castle driver. Not
  1662.   working yet!
  1663.  
  1664. - Mike Coates pointed out that Carnival uses a RAM for character generation
  1665.   (like Nibbler) and provided a driver for it. It's still not playable, but
  1666.   the graphics are now correct.
  1667.  
  1668. - Bernd Wiebelt suggested to add a new option: "-vesascan". It uses a VESA
  1669.   800x600 screen to simulate scanlines. It is much slower than the other video
  1670.   modes. Use this if you want scanlines and the default video mode doesn't
  1671.   work.
  1672.  
  1673. Source:
  1674. - Multiple CPU support. All you have to do to setup multiple CPUs is add
  1675.   entries to the cpu[] array in the MachineDriver definition. Each CPU can
  1676.   have different type (currently Z80 and M6502 are supported), clock, address
  1677.   space, memory/IO port hook, interrupt handlers, number of interrupts per
  1678.   video frame.
  1679.  
  1680. - Sometimes interrupt requests happen while interrupts are disabled. Until now
  1681.   I just ignored them, but some games need them to be processed as soon as
  1682.   interrupts are reenabled. Rally X is an example of such a game. The Z80
  1683.   engine has provision to do that, but it would make writing a driver more
  1684.   complex (need to find the interrupt acknowledge register) so I slightly
  1685.   modified the engine to automatically cache an interrupt request and execute
  1686.   it as soon as interrupts are enabled. I had already done a similar change to
  1687.   the 6502 engine, it was needed by Burger Time which wouldn't accept coins
  1688.   otherwise.
  1689.  
  1690. - Since the functions xxx_vh_start(), xxx_vh_stop(), xxx_videoram_w(),
  1691.   xxx_colorram_w() are the same for most video drivers, I moved them,
  1692.   alongside with some variables, to vidhrdw/generic.c. This doesn't reduce
  1693.   much the size of the executable, but greatly reduces the amount of code that
  1694.   has to be put in a video driver (in many cases, you just have to write
  1695.   xxx_vh_screenrefresh())
  1696.  
  1697. - Fixed bug in msdos.c/osd_play_streamed_sampled() which prevented it from
  1698.   handling more than one audio stream. This part of the code still needs a
  1699.   major cleanup.
  1700.  
  1701. - Fixed bug in drawgfx() which sometimes allowed transparent non remapped
  1702.   copies to be drawn outside of the clip region.
  1703.  
  1704.  
  1705. 0.11
  1706. ----
  1707.  
  1708. Program:
  1709. - Moon Patrol support. There is no scrolling background because I don't know
  1710.   where to place it... can anyone provide a screen snapshot?
  1711.  
  1712. - Burger Time and Donkey Kong 3 drivers provided by Mirko Buffoni.
  1713.   The colors for Burger Time should be accurate, but I'm not quite sure -
  1714.   can anyone confirm?
  1715.  
  1716. - Fixed joystick controls for Congo Bongo.
  1717.  
  1718. - Lionel Theunissen dumped the color PROM of his Uniwars board and... it's
  1719.   different from the one provided by Gary Walton. Galaxian boards were widely
  1720.   pirated so it's difficult to determine which one is the "correct" palette.
  1721.   What I did was set the Uniwars driver to use one palette, and the "Japanese
  1722.   Irem" to use the other. Play the one you prefer.
  1723.  
  1724. - Marc Vergoossen provided a much better palette for Zaxxon.
  1725.  
  1726. Source:
  1727. - increased the maximum size of the graphic elements that can be handled by
  1728.   decodegfx() from 32x32 to 64x64. Actually I would have needed 256x64 to do
  1729.   Moon Patrol backgrounds, but that seemed slightly overkill ;-)
  1730.  
  1731.  
  1732. 0.10
  1733. ----
  1734.  
  1735. Program:
  1736. - Centipede support. This is the first 6502 game supported by MAME. I'm
  1737.   currently using Marat Fayzullin's engine.
  1738.  
  1739. - Nibbler support. This is the second 6502 game supported by MAME ;-)
  1740.   Interesting hardware: no sprites, two playfields, and it uses RAM for
  1741.   character generation (redefining the characters to animate the worm).
  1742.  
  1743. - I had also broken Pleiades, fixed. That's the drawback of emulating more
  1744.   than 60 games, I can't check them all before releasing a new version ;-)
  1745.  
  1746. - Ville Laitinen provided a Congo Bongo driver! The colors are terrible ;-),
  1747.   but it's playable.
  1748.  
  1749. - Thanks to Valerio Verrando, now -noscanlines works on Pac Man and the other
  1750.   games using a 224x288 screen. If you have problems with the default video
  1751.   mode try this one, it will hopefully solve them.
  1752.  
  1753. - I received no less than three different palettes for Donkey Kong Jr., from
  1754.   Brad Oliver, Marc Vergoossen and Richard Davies. The one included is from
  1755.   Marc.
  1756.  
  1757. - Thanks to Gary Walton and Simon Walls, we now have 100% accurate colors in
  1758.   Crush Roller and Uniwars/Japirem. Moon Cresta and Moon Quasar might be
  1759.   correct as well, but I'm not sure.
  1760.  
  1761. - Fixed a small graphics glitch in the background of Bomb Jack's third level.
  1762.   Thanks to Philip Chapman for the report.
  1763.  
  1764. Source:
  1765. - Support for 6502 CPU. From a driver writer point of view, it is used just
  1766.   like the Z80, the only difference being that you have to specify CPU_M6502
  1767.   instead of CPU_Z80 in the MachineDriver definition.
  1768.   Multiple CPUs are still NOT supported.
  1769.  
  1770. - New function in common.c: decodechar(). It was originally part of
  1771.   decodegfx(), and is used to convert one single char from the machine format
  1772.   to the one used by the emulator. This function was needed by the Nibbler
  1773.   driver to dynamically convert the graphics at runtime.
  1774.  
  1775.  
  1776. 0.91
  1777. ----
  1778.  
  1779. Program:
  1780. - OK, even this time I managed to screw up one game (Phoenix). It works again.
  1781.   I'm not updating the source, you can fix it yourself if you need to: the line
  1782.      ROM_LOAD("phoenix.49", 0x2000, 0x0800)
  1783.   in driver.c was missing the '2'.
  1784.  
  1785.  
  1786. 0.9
  1787. ---
  1788.  
  1789. Program:
  1790. - Bomb Jack support.
  1791.  
  1792. - Background graphics in Zaxxon now work, albeit a bit slow (45-50 fps on my
  1793.   486/100)
  1794.  
  1795. - Support for the original version of Super Cobra. Note that I renamed the
  1796.   other one (which is a bootleg) "scobrab".
  1797.  
  1798. - Support for the original Moon Cresta (Nichibutsu copyright). These ROMs are
  1799.   encrypted, and slightly different from the other version. This is very
  1800.   likely the version Chuck Cochems remembers (with aliens teleporting right in
  1801.   front of your ship). I renamed the other version (which looks like a mix of
  1802.   the code from a bootleg version and the graphics from the Gremlin original
  1803.   version) "mooncrsb".
  1804.  
  1805. - Space Invaders now seems to work correctly. Deluxe version still doesn't
  1806.   work properly.
  1807.  
  1808. - F12 to take a snapshot of the gfx set (displayed using F4) now works.
  1809.  
  1810. - Better colors in Donkey Kong Jr. (thanks to Brad Oliver)
  1811.  
  1812. - Thanks to Gary Walton, Moon Quasar dip switches now are correctly described
  1813.   in the dip switch menu.
  1814.  
  1815. - F11 is now a toggle, also added F10 to turn off speed throttling (toggle as
  1816.   well)
  1817.  
  1818. Source:
  1819. - The memory handling was no longer up to the task, so I had to make it more
  1820.   flexible.
  1821.   RAM is no longer a static array; it is dynamically allocated by readroms(),
  1822.   split in memory regions (one for the CPU addressing space, one for graphics
  1823.   ROMs, and so on) so data not needed at run time, like the graphics data, can
  1824.   be unloaded from memory after conversion. The definition and usage of struct
  1825.   RomModule and struct GfxDecodeInfo has changed. struct RunningMachine
  1826.   contains an array of pointers to memory regions.
  1827.   RomModules are now defined using macros, and readroms() does some error
  1828.   checking as well. This greatly reduces the chance of making a silly mistake.
  1829.  
  1830.   And don't ask me why, but as a result of this change the emulation seems to
  1831.   run much faster than before!
  1832.  
  1833. - New rom_decode function pointer in the GameDriver structure. It is used to
  1834.   decrypt the whole ROMs after loading them (as opposed to opcode_decode,
  1835.   which is used to decrypt only CPU opcodes).
  1836.   Also, opcode_decode is now handled differently: instead of calling it at
  1837.   runtime when the CPU reads an opcode, another 64k of memory are allocated
  1838.   and the whole ROMs decrypted. opcodes are then fetched from this new array.
  1839.   This approach is less flexible, for example it cannot handle code created
  1840.   in RAM (Pengo does that). However, it is MUCH faster (finally I get 60fps
  1841.   in Crazy Climber!), so I'll go with it for now. Should the need arise for
  1842.   a more flexible decryption, we'll think about it.
  1843.  
  1844. - Some changes to the MachineDriver definition and mame.c needed to support
  1845.   multiple CPUs (they are NOT supported yet - this is just the first step)
  1846.  
  1847.  
  1848. 0.81
  1849. ----
  1850.  
  1851. Program:
  1852. - Sorry about screwing Donkey Kong Jr. colors... it's playable again. Colors
  1853.   are still way off though: anyone volunteers to fix them? ;-)
  1854.  
  1855. - Zaxxon now works, but the background graphics are missing
  1856.  
  1857.  
  1858. 0.8
  1859. ---
  1860.  
  1861. Program:
  1862. - Added some support for Carnival - it boots and runs the demo, but the
  1863.   graphics are messed up.
  1864.  
  1865. - Fixed graphics in Moon Quasar (yes it does run, but you need the correct
  1866.   ROMs)
  1867.  
  1868. - Better error checking in the sound initialization routines. It still sucks,
  1869.   but at least will notify of problems instead of locking up the emulation.
  1870.   The "0. Silence" driver also works.
  1871.  
  1872. - Removed the "-nosound" command line switch, replaced it with "-soundcard n"
  1873.   which allows to bypass the audio driver selection menu. Use "-soundcard 0"
  1874.   to turn off sound.
  1875.  
  1876. - Some support for Space Invaders (+ some clones) but it doesn't work well.
  1877.  
  1878. - Support for Battle of Atlantis (a Scramble hack)
  1879.  
  1880. - The ROM copyright notice is displayed in the main emulation screen.
  1881.  
  1882. - Maybe I understood how the character colors are selected in Donkey Kong, at
  1883.   least in part, but I'm not sure. Anyway, I started fixing them. I based on
  1884.   the Kong emulator by Gary Shepherdson.
  1885.  
  1886.  
  1887.   Following changes provided by Mirko Buffoni:
  1888.  
  1889. - You can view the game graphics pressing F4. Use cursor keys to change
  1890.   graphics set/color, F4 to return to the game.
  1891.  
  1892. - Support for Mario Bros. (wrong colors, no sound) and Zaxxon (doesn't work yet).
  1893.  
  1894. - Better colors in Amidar and Frogger.
  1895.  
  1896. Source:
  1897. - Added visible_area to the MachineDriver definition. It was used in all video
  1898.   drivers, so it's better to keep it centralized.
  1899.  
  1900. - Long-awaited function clearbitmap(), which correctly initializes a bitmap
  1901.   using background_pen. Note for people porting MAME to other systems:
  1902.   osd_create_bitmap() must call this function, the video drivers rely on that.
  1903.  
  1904. - I got rid of machine.c and put all into mame.c... when I have time, I'll try
  1905.   to organize the source better.
  1906.  
  1907.  
  1908. 0.7
  1909. ---
  1910.  
  1911. Program:
  1912. - Support for:
  1913.   Super Cobra (version running on a modified Scramble board)
  1914.   Amidar US version
  1915.   Crazy Climber Japanese version
  1916.   Pooyan (wrong colors, no sound)
  1917.   Phoenix/Pleiades (no sound)
  1918.  
  1919. - Scramble has 100% correct colors. The same palette is used by Super Cobra,
  1920.   but it doesn't look right.
  1921.  
  1922. - Gorf and Robby Roto boot but don't work.
  1923.  
  1924. - Added some support for Moon Quasar, but it doesn't work. Since the ROMs are
  1925.   encrypted, I don't know if this is due to wrong decryption, bad ROM, or
  1926.   wrong driver (I'm using the Moon Cresta one). I think that either MQ3 (which
  1927.   maps at 1000-17ff) is bad, or it uses a different encryption.
  1928.  
  1929.  
  1930. 0.6
  1931. ---
  1932.  
  1933. Program:
  1934. - Support for:
  1935.   Scramble (wrong colors, no sound)
  1936.   Uniwars (US version of Japanese Irem game)
  1937.   Frogger (including bootleg version running on a Scramble board)
  1938.     (wrong colors, no sound)
  1939.   Amidar (wrong colors, no sound)
  1940.   Turtles (wrong colors, no sound)
  1941.   Rally X (wrong colors, no sound, slowdowns)
  1942.  
  1943. - I'm beginning to understand how the Wizard of Wor video hardware works,
  1944.   gameplay hasn't changed but the graphics are more faithfully reproduced.
  1945.  
  1946. - Star background in Galaxians & co. The way I calculate it is probably not
  1947.   correct, anyway it looks reasonable.
  1948.  
  1949. - Fixed staccato notes in Pacman and other games using the same hardware.
  1950.   There are still some minor glitches (especially in Ms. Pac Man) but Pac Man
  1951.   tunes are now very close to the original.
  1952.  
  1953. Source:
  1954. - I reorganized the source directory tree, instead of one directory for every
  1955.   game there are now four directories (drivers, machine, vidhrdw, sndhrdw)
  1956.   which contain files named after the game.
  1957.  
  1958.  
  1959. 0.5
  1960. ---
  1961.  
  1962. Program:
  1963. - Fixed some problems in the Wizard of Wor driver, but it is still far from
  1964.   complete.
  1965.  
  1966. - Support for:
  1967.   Donkey Kong Jr. (wrong colors, no sound)
  1968.   Galaxians and the plethora of clones (correct colors, limited sound)
  1969.   Pisces (correct colors, limited sound)
  1970.   "Japanese Irem game". I believe the colors are correct, but since I've
  1971.     never seen the original game I can't know for sure.
  1972.   War of the Bugs (wrong colors, limited sound)
  1973.   Moon Cresta (wrong colors, limited sound)
  1974.   The End (wrong colors, no sound)
  1975.  
  1976. - By popular demand, reverted to the old AY-3-8910 emulation code.
  1977.  
  1978. Source:
  1979. - Changed readroms() to allow scatter loading of a single ROM. This was needed
  1980.   for Donkey Kong Jr. Now the end of the RomModule array is marked by a size==0,
  1981.   while name==0 means "continue loading the previous ROM at this address".
  1982.  
  1983. - Some bug fixes and changes to reduce porting problems (thanks to Brad Oliver)
  1984.  
  1985. - New function copybitmap() in common.c. Limited for now, will change in the
  1986.   future.
  1987.  
  1988.  
  1989. 0.4
  1990. ---
  1991.  
  1992. Program:
  1993. - Bagman support (wrong colors)
  1994.  
  1995. - Early Wizard of Wor support (not playable).
  1996.  
  1997. - New experimental AY-3-8910 sound emulation code provided by Andy Milne
  1998.   (andy@canetics.com). This sounds better in some places and worse in others.
  1999.   It is used by Crazy Climber, Crazy Kong and Bagman. Let me know what you
  2000.   think.
  2001.  
  2002. Source:
  2003. - Optimizations in drawgfx(), Mr. Do!'s title screen and intermissions now
  2004.   run faster, Crazy Climber and Crazy Kong benefit as well.
  2005.  
  2006. - Use version 1.1 of Z80Em by Marcel de Kogel. Faster!
  2007.   (note that I had to make a couple of changes to Z80.c to make Crazy
  2008.   Climber work).
  2009.  
  2010. - Handle IN and OUT instructions in the same way as memory accesses (table
  2011.   of handler functions). The parameters of the functions are the same, so
  2012.   the same function can be used both for memory and ports.
  2013.   Had to change the driver structure, removed the pointers to _in and _out
  2014.   functions and added port_read and port_write array pointers.
  2015.   Also defined a generic interrupt_vector_w() function, this makes the Pac
  2016.   Man driver tinier (look at pacman/machine.c, it's now there only to handle
  2017.   the cheat).
  2018.  
  2019.  
  2020. 0.3
  2021. ---
  2022.  
  2023. Program:
  2024. - Donkey Kong support (wrong colors, no sound)
  2025.  
  2026. - New definition of custom video modes, this will hopefully be compatible
  2027.   with more systems.
  2028.  
  2029. - Lady Bug and Crazy Climber should run a little faster on slow machines
  2030.   (Crazy Climber is still too slow, I know).
  2031.  
  2032. Source:
  2033. - new general purpose readinputport() function used to handle reads of
  2034.   input ports and dip switches. This saves some work when creating a
  2035.   game driver. Required changes to struct MachineDriver.
  2036.  
  2037. - struct GfxLayout now contains a planeoffset array instead of
  2038.   planeincrement, to better support more than 2 bitplanes. I also fixed
  2039.   (I hope) all the code which assumed 2 bitplanes. struct GfxDecodeInfo
  2040.   had to be changed as well.
  2041.